package com.rc.saas.tenant.vo.order;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.alibaba.excel.annotation.ExcelProperty;
import com.rc.saas.tenant.common.utils.StringUtil;

import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * @author wangzhengwei
 * @create 2021/7/1
 */
public class OrderTotalDataPrintVo {
    @ExcelIgnore
    private String userTenantCode;
    @ExcelIgnore
    private String tenantCode;
    @ExcelIgnore
    private String tenantName;

    @ExcelProperty("桩群")
    private String stationName;//桩群名

    @ExcelProperty("所属公司")
    private String companyName;//桩群名

    @ExcelProperty("设备运营商")
    private String hlhtOperatorName;

    @ExcelProperty("桩群地址")
    private String addressDetail;//桩群地址
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ExcelProperty("开通时间")
    private Date addTime;//开通时间
    @ExcelProperty("充电时间(分钟)")
    private String useTime;//充电时间(分)
    @ExcelProperty("充电量(度)")
    private BigDecimal totalUsePower;//总使用电量
    @ExcelProperty("基本电费(元)")
    private BigDecimal totalChaAmount;//总基本电费
    @ExcelProperty("服务费(元)")
    private BigDecimal totalSerAmount;//总服务费
    @ExcelProperty("总金额(元)")
    private BigDecimal totalMoney;//总金额
    @ExcelProperty("优惠(元)")
    private BigDecimal totalDisAmount;//总优惠金额
    @ExcelProperty("实收金额(元)")
    private BigDecimal totalPayAmount;//总实付金额
    //@ExcelProperty("7kw")
    //private Integer kwF;//7kw
    //@ExcelProperty("30kw")
    //private Integer kwA;//30kw
    //@ExcelProperty("45kw")
    //private Integer kwB;//45kw
    //@ExcelProperty("60kw")
    //private Integer kwC;//60kw
    //@ExcelProperty("90kw")
    //private Integer kwG;//90kw
    //@ExcelProperty("120kw")
    //private Integer kwD;//120kw
    //@ExcelProperty("180kw")
    //private Integer kwE;//180kw
    //@ExcelProperty("合计(个)")
    //private Integer totalAmount;//合计
    //@ExcelProperty("总功率(kw)")
    //private double totalPower;//总功率
    //@ExcelProperty("枪数(支)")
    //private Integer gunNum;//枪个数
    @ExcelProperty("使用率")
    private String useRatio;//使用率

    public String getHlhtOperatorName() {
        if (StringUtil.isBlank(hlhtOperatorName)) {
            return tenantName;
        }
        return hlhtOperatorName;
    }

    public String getTenantCode() {
        return tenantCode;
    }

    public void setTenantCode(String tenantCode) {
        this.tenantCode = tenantCode;
    }

    public String getTenantName() {
        return tenantName;
    }

    public void setTenantName(String tenantName) {
        this.tenantName = tenantName;
    }

    public void setHlhtOperatorName(String hlhtOperatorName) {
        this.hlhtOperatorName = hlhtOperatorName;
    }

    public BigDecimal getTotalMoney() {
        return totalMoney;
    }

    public void setTotalMoney(BigDecimal totalMoney) {
        this.totalMoney = totalMoney;
    }

    public String getStationName() {
        return stationName;
    }

    public void setStationName(String stationName) {
        this.stationName = stationName;
    }

    public Date getAddTime() {
        return addTime;
    }

    public void setAddTime(Date addTime) {
        this.addTime = addTime;
    }

    public String getUseTime() {
        return useTime;
    }

    public void setUseTime(String useTime) {
        this.useTime = useTime;
    }

    public BigDecimal getTotalUsePower() {
        return totalUsePower;
    }

    public void setTotalUsePower(BigDecimal totalUsePower) {
        this.totalUsePower = totalUsePower;
    }

    public BigDecimal getTotalDisAmount() {
        return totalDisAmount;
    }

    public void setTotalDisAmount(BigDecimal totalDisAmount) {
        this.totalDisAmount = totalDisAmount;
    }

    public BigDecimal getTotalChaAmount() {
        return totalChaAmount;
    }

    public void setTotalChaAmount(BigDecimal totalChaAmount) {
        this.totalChaAmount = totalChaAmount;
    }

    public BigDecimal getTotalSerAmount() {
        return totalSerAmount;
    }

    public void setTotalSerAmount(BigDecimal totalSerAmount) {
        this.totalSerAmount = totalSerAmount;
    }

    public BigDecimal getTotalPayAmount() {
        return totalPayAmount;
    }

    public void setTotalPayAmount(BigDecimal totalPayAmount) {
        this.totalPayAmount = totalPayAmount;
    }

    //public Integer getKwA() {
    //    return kwA;
    //}
    //
    //public void setKwA(Integer kwA) {
    //    this.kwA = kwA;
    //}
    //
    //public Integer getKwB() {
    //    return kwB;
    //}
    //
    //public void setKwB(Integer kwB) {
    //    this.kwB = kwB;
    //}
    //
    //public Integer getKwC() {
    //    return kwC;
    //}
    //
    //public void setKwC(Integer kwC) {
    //    this.kwC = kwC;
    //}
    //
    //public Integer getKwD() {
    //    return kwD;
    //}
    //
    //public void setKwD(Integer kwD) {
    //    this.kwD = kwD;
    //}
    //
    //public Integer getKwE() {
    //    return kwE;
    //}
    //
    //public void setKwE(Integer kwE) {
    //    this.kwE = kwE;
    //}
    //
    //public Integer getKwF() {
    //    return kwF;
    //}
    //
    //public void setKwF(Integer kwF) {
    //    this.kwF = kwF;
    //}
    //
    //public Integer getKwG() {
    //    return kwG;
    //}
    //
    //public void setKwG(Integer kwG) {
    //    this.kwG = kwG;
    //}
    //
    //public Integer getTotalAmount() {
    //    return totalAmount;
    //}
    //
    //public void setTotalAmount(Integer totalAmount) {
    //    this.totalAmount = totalAmount;
    //}
    //
    //public double getTotalPower() {
    //    return totalPower;
    //}
    //
    //public void setTotalPower(double totalPower) {
    //    this.totalPower = totalPower;
    //}
    //
    //public Integer getGunNum() {
    //    return gunNum;
    //}
    //
    //public void setGunNum(Integer gunNum) {
    //    this.gunNum = gunNum;
    //}

    public String getUseRatio() {
        return useRatio;
    }

    public void setUseRatio(String useRatio) {
        this.useRatio = useRatio;
    }

    public String getAddressDetail() {
        return addressDetail;
    }

    public void setAddressDetail(String addressDetail) {
        this.addressDetail = addressDetail;
    }

    public String getCompanyName() {
        if(tenantCode.equals(userTenantCode)){
            return companyName;
        }else {
            return "";
        }
    }

    public void setCompanyName(String companyName) {
        this.companyName = companyName;
    }

    public String getUserTenantCode() {
        return userTenantCode;
    }

    public void setUserTenantCode(String userTenantCode) {
        this.userTenantCode = userTenantCode;
    }
}
